package cn.csc.module.pay.dal.dataobject.bank;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigInteger;
import java.util.*;

import com.baomidou.mybatisplus.annotation.*;
import cn.csc.framework.mybatis.core.dataobject.BaseDO;

/**
 * 资金账户绑定的银行卡 DO
 *
 * @author 华南城
 */
@TableName("pay_bank")
@KeySequence("pay_bank_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayBankDO extends BaseDO {

    /**
     * 维一标识
     */
    @TableId
    private Long id;
    /**
     * 商户编号
     */
    private Long merchantId;
    /**
     * 第三方用户id
     */
    private String appUserId;
    /**
     * 会员名称
     */
    private String memberName;
    /**
     * 会员证件类型，1-身份证；3-回乡证；4-中国护照；5-台胞证；19-外国护照；52-组织机构代码证；68-营业执照 ；73-统一社会信用代码
     */
    private String memberGlobalType;
    /**
     * 会员证件号码
     */
    private String memberGlobalId;
    /**
     * 银行卡号
     */
    private String memberAcctNo;
    /**
     * 银行类型,1：本行 2：他行
     */
    private Integer bankType;
    /**
     * 银行名称
     */
    private String bankName;
    /**
     * 开户行支行名称 如:“中国工商银行股份有限公司北京樱桃园支行”
     */
    private String acctOpenBranchName;
    /**
     * 大小额行号
     */
    private String cnapsBranchId;
    /**
     * 超级网银行号
     */
    private String eiconBankBranchId;
    /**
     * 银行卡的预留手机号
     */
    private String mobile;
    /**
     * 是否个体工商户,1：是 2：否
     */
    private Integer indivBusinessFlag;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 公司证件类型，1-身份证；3-回乡证；4-中国护照；5-台胞证；19-外国护照；52-组织机构代码证；68-营业执照 ；73-统一社会信用代码
     */
    private String companyGlobalType;
    /**
     * 公司证件号码
     */
    private String companyGlobalId;
    /**
     * 店铺id
     */
    private String shopId;
    /**
     * 店铺名称
     */
    private String shopName;
    /**
     * 法人标志,1-是
     */
    private Integer repFlag;
    /**
     * 法人名称
     */
    private String reprName;
    /**
     * 法人证件类型，1-身份证；3-回乡证；4-中国护照；5-台胞证；19-外国护照；52-组织机构代码证；68-营业执照 ；73-统一社会信用代码
     */
    private String reprGlobalType;
    /**
     * 法人证件号码
     */
    private String reprGlobalId;
    /**
     * 绑定是否成功，1成功，0不成功
     */
    private Integer state;
    /**
     * 1个人绑定6238，2对公账号6240
     */
    private Integer bindBankType;

    /**
     * 是否存在经办人,1-是  2-否")
     */
    private BigInteger agencyClientFlag;

    /**
     * 经办人姓名,可选是否存在经办人AgencyClientFlag=1时必输
     */
    private String agencyClientName;

    /**
     * 经办人证件类型,可选是否存在经办人AgencyClientFlag=1时必输
     */
    private String agencyClientGlobalType;
    /**
     * 经办人证件号,可选是否存在经办人AgencyClientFlag=1时必输
     */
    private String agencyClientGlobalId;
    /**
     * 经办人手机号,可选是否存在经办人AgencyClientFlag=1时必输
     */
    private String agencyClientMobile;
    /**
     * 交易流水号
     */
    private String cnsmrSeqNo;

}
